feat(charm): adds 'huh' dynamic forms to create command#362
feat(charm): adds 'huh' dynamic forms to create command#362
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #362 +/- ##
==========================================
- Coverage 65.06% 65.05% -0.02%
==========================================
Files 215 216 +1
Lines 18179 18231 +52
==========================================
+ Hits 11829 11860 +31
- Misses 5254 5273 +19
- Partials 1096 1098 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
mwbrooks
left a comment
There was a problem hiding this comment.
🎉 Love the video and this is looking good!
🧪 I'll manually test this shortly, but wanted to share some quick feedback. I noticed that the patch test coverage is 50%. It would be nice to get that around 70% to keep our code coverage increasing slightly. I've left one comment that might allow us to boost the test coverage.
| // charmPromptTemplateSelectionFunc is a package-level function variable for test overriding. | ||
| var charmPromptTemplateSelectionFunc = charmPromptTemplateSelection |
There was a problem hiding this comment.
question: Do we need this testing override? We are trying to remove this pattern and a glance at charmPromptTemplateSelection looks like we can test this function safely since clients and clients.IO have mocks available. 🤞🏻
There was a problem hiding this comment.
ill look into this!
mwbrooks
left a comment
There was a problem hiding this comment.
🧪 I took it for a test run and it's looking pretty nice! I found a few UX quirks that I'd like to point out. They may be out-of-scope of this PR because they feel related to theming and viewport sizing (just a hunch).
Dark Mode Theme
I'm loving our Slack Theme 💅🏻 but is it possible to have different colours for light and dark terminals? For example, the aubergine is difficult to read on a dark terminal window.
Language Selector Scrolls when Navigating Up/Down
When I select a language, the options move when I navigate up/down. I'd expect this if I'm hitting the bottom and there are more options, but the current UX feels odd. It happens for 2 and 3 language options.
2026-03-06-create-charm-vertical-shift.mov
View More Samples Scrolling Stops Showing Selection after 2nd Option
When selecting to view more samples, the highlighted selection disappears after the 2nd option. It becomes a bit of a mystery which one is going to be selected.
2026-03-06-create-charm-view-more.mov
|
@mwbrooks thank you for the review 🙏 left my responses below
fortunately lipgloss allows for adaptive colors for dark and light mode. I did have some issues with it though which is why the adaptive colors arent in this PR. im working on consolidating the theme in this PR
I'm trying to figure out how to resolve these UI bugs - but to no avail. I'm going to float this up to the Charm team 🫡 |
Thanks @srtaalej! Sadly, I think we need to resolve these UI bugs before we can ship the charm experiment. I'd assume it's something minor since it's affecting all of our prompts. 🤔 |
|
@srtaalej After you look at bumping the test coverage of this PR, we can merge it |
Changelog
When the charm experiment is enabled, slack create now presents a single interactive form for selecting both the app category and language template, with options that update dynamically as you navigate. 🦋
Summary
This PR replaces the survey-based two-step category/template prompt with a single-screen 'huh' form when the charm experiment is enabled. Category and language selects render together; changing the category dynamically updates the template options via
OptionsFunc.Screen.Recording.2026-03-03.at.1.18.47.PM.mov
Testing
make build— 0 issuesmake test— all tests pass./bin/slack create --experiment=charm— form renders with category and template on one screen; changing category updates template options; "View more samples" shows browse optionRequirements